package com.yanqu.road.entity.activity.area.wase;

import com.yanqu.road.entity.FieldTypeAnnotation;
import com.yanqu.road.entity.activity.entername.TempEnterNameUserData;
import com.yanqu.road.entity.player.UserBaseInfo;

@FieldTypeAnnotation(tableName = "t_n_activity_washe_pk_user_data")
public class ChannelWashePkUserData extends TempEnterNameUserData {

    @FieldTypeAnnotation(desc = "活动ID", select = true, update = true)
    private int activityId;

    @FieldTypeAnnotation(desc = "用户ID", select = true, update = true)
    private long userId;

    @FieldTypeAnnotation(desc = "玩家信息")
    private UserBaseInfo userBaseInfo;

    @FieldTypeAnnotation(desc = "积分")
    private long score;

    @FieldTypeAnnotation(desc = "最高连胜")
    private int maxWinTimes;

    @FieldTypeAnnotation(desc = "当前连胜")
    private int winTimes;

    @FieldTypeAnnotation(desc = "勋章数量")
    private long badge;

    @FieldTypeAnnotation(desc = "更新时间-积分")
    private long lastUpdateTime;

    @FieldTypeAnnotation(desc = "更新时间-勋章")
    private long lastUpdateTime2;

    @FieldTypeAnnotation(desc = "地区")
    int zoneId;

    public int getZoneId() {
        return zoneId;
    }

    public void setZoneId(int zoneId) {
        if(this.zoneId != zoneId) {
            this.zoneId = zoneId;
            setUpdateOption();
        }
    }

    public int getActivityId() {
        return activityId;
    }

    public void setActivityId(int activityId) {
        if(this.activityId != activityId) {
            this.activityId = activityId;
            setUpdateOption();
        }
    }

    public long getUserId() {
        return userId;
    }

    public void setUserId(long userId) {
        if(this.userId != userId) {
            this.userId = userId;
        }
    }


    public UserBaseInfo getUserBaseInfo() {
        return userBaseInfo;
    }

    public void setUserBaseInfo(UserBaseInfo userBaseInfo) {
        if(this.userBaseInfo != userBaseInfo) {
            this.userBaseInfo = userBaseInfo;
            setUpdateOption();
        }
    }

    public long getScore() {
        return score;
    }

    public void setScore(long score) {
        if(this.score != score) {
            this.score = score;
            setUpdateOption();
        }
    }


    public long getBadge() {
        return badge;
    }

    public void setBadge(long badge) {
        if(this.badge != badge) {
            this.badge = badge;
            setUpdateOption();
        }
    }

    public long getLastUpdateTime() {
        return lastUpdateTime;
    }

    public void setLastUpdateTime(long lastUpdateTime) {
        if(this.lastUpdateTime != lastUpdateTime){
            this.lastUpdateTime = lastUpdateTime;
        }
    }

    public long getLastUpdateTime2() {
        return lastUpdateTime2;
    }

    public void setLastUpdateTime2(long lastUpdateTime2) {
        if(this.lastUpdateTime2 != lastUpdateTime2){
            this.lastUpdateTime2 = lastUpdateTime2;
            setUpdateOption();
        }
    }

    public int getMaxWinTimes() {
        return maxWinTimes;
    }

    public void setMaxWinTimes(int maxWinTimes) {
        if(this.maxWinTimes != maxWinTimes) {
            this.maxWinTimes = maxWinTimes;
            setUpdateOption();
        }
    }

    public int getWinTimes() {
        return winTimes;
    }

    public void setWinTimes(int winTimes) {
        if(this.winTimes != winTimes) {
            this.winTimes = winTimes;
            setUpdateOption();
        }
    }

    @Override
    public String getUserRankParam() {
        return String.valueOf(score);
    }

    @Override
    public long getGroupRankValue() {
        return score;
    }

    @Override
    public long getUserRankValue() {
        return maxWinTimes;
    }
}
